home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Creative Computers
/
Creative Computers CD-ROM, Volume 1 (Legendary Design Technologies, Inc.)(1994).iso
/
shareware
/
fractals
/
icefrac
/
icefrac.docs
< prev
next >
Wrap
Text File
|
1994-11-17
|
10KB
|
189 lines
ICEFRAC VER 2.1
- A Diffusion Limited Aggregation simulator
(c) 1989 by Lars R. Clausen
About Diffusion Limited Aggregation (DLA):
DLA is a type of fractal I first read about in a Scientific American, the
number long forgotten. When I also saw it in The Beauty Of Fractal Images, I
made a simple one for myself. Then FastGro came along on a Fishdisk, and I
thought I had been outmanoeuvred. But when it wouldn't work, I finally
finished IceFrac, adding colors and more.
The method is fairly simple:
Make a form on the screen. Let a randomly placed dot wander randomly for
a maximum time of, for example, 50 moves. If it during that time encounters
another dot, it will be plotted down there, and another will be started. If
not, it leaves without a trace, and another one starts. After a thousand or
two has come and gone, a form like lightning or ice crystals begin to form.
By varying the original form, the colors, the ways of moving and testing and
more, several beautiful forms may be made.
About IceFrac:
IceFrac is a rather slow, but optionfull implementation of DLA. Upon
starting, it opens a LoRes NonInterLace screen in 32 colors, with a single
strip in the top to move it and a line in the bottom. Dots then begin to
appear on it, builder higher and higher, and changing their colors along the
way.
IceFrac takes one argument: The number of BitPlanes, by default 5. To
change this, simply type IceFrac -P(the number you want to use). It does not
support HAM or HALFBRITE modes, so the maximum number of planes is 5.
To stop IceFrac, just press the Escape key.
By pressing
Return
, you save the current picture as "FracPic001", the
next time you do it as "FracPic002" and so on. If you want, you can make a
little animation from it.
Doubleclicking the right mouse button gives you a requester with some
options, detailed below.
If IceFrac cannot find any place to place the new dot, it will wait for a
response before trying again, instead of using a lot of CPU time for
nothing. That next response would typically be a doubleclick for the
requester, so you can start it again.
About The Double Menu Request:
From here the program is controlled by various options, here described
from top down:
Move:
The directions the dot can move in are shown in these 8 gadgets.
Initially, only the bottom three are selected, forcing the dot to move
downwards all the time. Combined with the Test gadgets, this gives quite a
lot of control over the form of the 'thing' created, whether you want it
to look like ice, lightning, gunshots, trees, bacteria or something I
haven't yet thought of.
Test:
This indicates where testing is done for other dots. This says a
lot about where the form will tend to go. As with Move, only the 3 downwards
gadgets are selected, ensuring that the form will go upwards.
Border:
If this gadget, saying 'Die', is selected, any dot that contacts
the border will disappear instantly, This makes the program go faster, as
the dots that get out there normally are too far away to reach anything. You
may want to turn it off, though I can't give any example of why you should.
Size:
This is simply the X and Y size of the window. If it is made bigger
than this, it will go into HiRes and/or InterLace, if ReGrow is selected. It
can't get any bigger than 640x511 (640x399 for NTSC screens).
Color Change:
This is the number of dots to be set before the color is
changed upwards. A Color Change of -1 means you don't want any change at
all. Color 0 will not be included in the colors, as it would mean absolutely
no effect till it changed to the next one. Otherwise, the entire number of
colors will be used.
StartArea1 & StartArea2:
These numbers show where the blocks initially
displayed will be placed. They are shown as XMin YMin XMax YMax, in that
order. Notice that these can be either a vertical line, a horizontal line, a
full block or a single dot. Color 1 is always used for these blocks. As
RectFill() is used for drawing the blocks, XMin should not be greater than
XMax and YMin not greater than YMax. If XMin of StartArea2 is set to -1, it
will not be displayed at all, as is the case in the start. Note also that
not the full window is used. This is done to avoid testing outside the
window. Pressing a Make gadget will remove the requester and let you
mousedrag out an area to use. The placement of this box is not the size
shown in the Size gadgets, rather the actual size of the window. It will be
cut down to fit the size of the area used when ReDraw is selected. This
provides an easy way to place the block in the corner of a small area, you
just make it outside the area, then it adjusts itself.
MaxIt:
The maximum number of moves each dot can make before disappearing
is shown here. A low maxit will make the form grow faster and thinner, while
a high maxit slows down generation but makes a thicker form, which in the
most cases is the most beautiful. The minimum MaxIt is 2.
Margin:
Margin is how the maximum number of pixels away from the initial
block the new dots will start. As new dots are added to the form, this
border will be moved out accordingly, so as to be always Margin pixels away
from the outermost part of the form. The smaller the margin is, the faster
the form will be made, but a small margin may cause it to go out into a few
thin arms. This does not happen in the initial setup, as all dots move
downwards, but if started from a single dot in the middle of the screen, the
form would with a low margin very quickly go in four directions or so, as
the outermost parts will be hit very easily. The maxmimum margin is equal to
maxit, as no dot would be able to get to the form if margin was larger than
maxit and Enter On Edge was selected.
Enter On:
When Enter On Edge is selected, all new dots will be put at the
maximum distance from the form, as dictated by Margin and Size. This means
that they may have a long way to travel before finding anything, but if it
not selected, spaces within the form will also be hit, making it totally
solid and maybe a mess of colors. It normally gives the best results to let
them enter on the edge, but a gunshot-like form I made was better the other
way.
Change Colors:
This puts up Jonathan Potters practical colorpalette for
changing the colors used. This does not nedd any explanation.
Regrow:
This is one of the exits from the requester. Pressing this, the
screen will be cleared, matbe even changed, the startareas drawn and the
generation will begin according to the gadgets selected in the requester,
with appropriate change in size.
Go On:
This exit leaves the screen unchanged, but otherwise lets IceFrac
use the options just set. Only the size of the area used will not be
altered, as this could easily involve a closing and reopening of the screen,
removing everything.
Cancel:
Sets the options back to the state they were in before the
requester was brought up, and continues generating unchanged.
About Some Beautiful Forms:
I have made some forms that I find kanda beautiful, so I will present
them here:
GunShot:
Let moving be only down-right, testing the three down-right
directions, the color change 25 or so, the startarea a single dot somewhere
in the downright corner, the margin 1 and use no enter on edge. Colors may
be changed to a red-yellow range. After a little generating, place the mouse
at the startinpoint, and BLAM! you can see the shot.
Lightning:
As GunShot, but the movement is up, the testing is the three
upwards directions, the area is in the top and enter on edge is on. May
requi